import { getToken } from '@/utils/auth'

// 定义白名单
const whiteList = ['/pages/login'];

// 通用路由拦截器函数
function routeInterceptor(args) {
  return //关闭路由拦截
  // 获取当前用户的 token，这里假设 token 存储在 Vuex store 中
  const userToken = getToken();
console.log(userToken);
  // 如果当前 URL 在白名单中，则直接跳过拦截
  if (whiteList.includes(args.url)) {
    return true;
  }

  // 如果用户没有 token（即未登录），则重定向到登录页面
  if (!userToken) {
    uni.reLaunch({
      url: '/pages/login'
    });
    return false; // 阻止原跳转
  }

  // 如果用户已登录，则允许跳转
  return true;
}

// 添加拦截器到每个路由 API
['navigateTo', 'redirectTo', 'reLaunch', 'switchTab'].forEach((apiName) => {
  uni.addInterceptor(apiName, {
    invoke: routeInterceptor
  });
});